package vip.xiaonuo.sys.fymodule.order.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 * 平安分账会员交易
 * </p>
 *
 * @author wangy
 * @since 2025-06-27
 */
@Data
@TableName("sxo_safety_mem_tran")
@Schema(name = "SxoSafetyMemTran对象", description = "平安分账会员交易")
public class SxoSafetyMemTran implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "自增id")
    @TableId(value = "id", type = IdType.AUTO)
    private String id;

    @Schema(description = "用户ID")
    @TableField("user_id")
    private String userId;

    @Schema(description = "冻结充值订单ID")
    @TableField("safety_order_id")
    private String safetyOrderId;

    @Schema(description = "订单ID")
    @TableField("order_id")
    private String orderId;

    @Schema(description = "订单号")
    @TableField("order_no")
    private String orderNo;

    @Schema(description = "店铺ID")
    @TableField("shop_id")
    private String shopId;

    @Schema(description = "交易功能标识：6=交易商户中的可用金额；9=交易商户中的可提现金额")
    @TableField("function_flag")
    private Integer functionFlag;

    @Schema(description = "转出方的见证子账户的账号")
    @TableField("out_sub_acct_no")
    private String outSubAcctNo;

    @Schema(description = "转出方的交易网会员代码")
    @TableField("out_member_code")
    private String outMemberCode;

    @Schema(description = "转出方的见证子账户的户名")
    @TableField("out_sub_acct_name")
    private String outSubAcctName;

    @Schema(description = "转入方的见证子账户的账号")
    @TableField("in_sub_acct_no")
    private String inSubAcctNo;

    @Schema(description = "转入方的交易网会员代码")
    @TableField("in_member_code")
    private String inMemberCode;

    @Schema(description = "转入方的见证子账户的户名")
    @TableField("in_sub_acct_name")
    private String inSubAcctName;

    @Schema(description = "交易金额")
    @TableField("tran_amt")
    private String tranAmt;

    @Schema(description = "交易手续费")
    @TableField("tran_fee")
    private String tranFee;

    @Schema(description = "交易类型(01=普通交易)")
    @TableField("tran_type")
    private String tranType;

    @Schema(description = "币种")
    @TableField("ccy")
    private String ccy;

    @Schema(description = "交易订单号")
    @TableField("tran_order_no")
    private String tranOrderNo;

    @Schema(description = "订单内容")
    @TableField("tran_order_content")
    private String tranOrderContent;

    @Schema(description = "交易状态：-2：退款失败1:交易失败；0:交易成功；2:退款")
    @TableField("tran_status")
    private Integer tranStatus;

    @Schema(description = "交易时间")
    @TableField("tran_time")
    private String tranTime;

    @Schema(description = "退款时间")
    @TableField("refund_time")
    private String refundTime;

    @Schema(description = "交易流水号")
    @TableField("cnsmr_seq_no")
    private String cnsmrSeqNo;

    @Schema(description = "备注")
    @TableField("remark")
    private String remark;

    @Schema(description = "电商见证宝系统生成的流水号")
    @TableField("jzb_accept_seq_no")
    private String jzbAcceptSeqNo;

    @Schema(description = "错误信息")
    @TableField("error_msg")
    private String errorMsg;

    @Schema(description = "删除状态(0:正常；1：删除)")
    @TableField("status")
    private Integer status;

    @Schema(description = "添加时间")
    @TableField("add_time")
    private String addTime;

    @Schema(description = "更新时间")
    @TableField("upd_time")
    private String updTime;
}
